// package com.example.coder_interpreter;

// import java.util.List;

// public class Parser {
//     private final List<Token> tokens;
//     private int current = 0;

//     Parser(List<Token> tokens) {
//         this.tokens = tokens;
//     }

//     private Expr expression() {
//         return equality();
//     }

//     private Expr equality() {
//         Expr expr = comparison();

//         while (match(BANG_EQUAL, EQUAL_EQUAL)) {
//             Token operator = previous();
//             Expr right = comparison();
//             expr = new Expr.Binary(expr, operator, right);
//         }

//         return expr;
//     }

//     private boolean match(TokenType... types) {
//         for (TokenType type : types) {
//             if (check(type)) {
//                 advance();
//                 return true;
//             }
//         }

//         return false;
//     }

//     private boolean check(TokenType type) {
//         if (isAtEnd())
//             return false;
//         return peek().type == type;
//     }
// }
